/**
 * 闭包：当函数可以记住并访问所在的词法作用域时，就产生了闭包；
 * 即使函数在当前的词法作用域之外执行，说白了就是把函数当值进行传递
 */

for (let i = 1; i <= 5; i++) {
  setTimeout(() => {
    console.log(i);
  }, i * 1000);
}
